One workflow aspect of deploying embedded code on a target platform is the activity of optimizing the embedded code for optimal execution performance. Many embedded processor vendors and vendors of embedded processor development environments (e.g., integrated development environments (IDEs), debuggers, build tools, etc.) provide various tools (e.g., profilers or advisors) to diagnose and characterize the run-time performance of the embedded code to improve execution performance. Such tools may include tools to measure central processing unit (CPU) usage, measure memory usage, analyze cache use, advise code changes to take advantage of an optimizing compiler, etc.
Several commercial software tools automatically generate embedded code from a simulation design model, and a subset of such tools feature profiler capabilities and/or integrate with other vendor profilers. However, the onus is on the user of such software tools to interpret the profiler feedback and to set appropriate options to regenerate the embedded code in hopes of improving performance (e.g., with respect to an optimal threshold).